package com.bdqn.pojo;

import java.io.Serializable;

/**
 * 学生
 *
 * @author LILIBO
 * @since 2021-11-23
 */
public class Student extends Person implements Serializable {

    /**
     * 无参构造方法
     */
    public Student() {

    }

    public Student(String name, String sex) {
        super.setName(name);
        super.setSex(sex);
    }


    public Student(String sex, int age) {
        super.setSex(sex);
        super.setAge(age);
    }

    /**
     * 带一个参数的构造方法
     *
     * @param clazz
     */
    public Student(String clazz) {
        this.clazz = clazz;
    }

    /**
     * 成绩类（内部类）
     */
    class Result {
        // 属性
        private String subject;
        private int score;

        // 方法

        // 找外部类
        public String showDeclaringClass() {
            return Result.class.getDeclaringClass().getName();
        }

    }

    /**
     * 爱好类（内部类）
     */
    class Hobby {
        // 属性
        private String interest;

        // 方法

        // 找外部类
        public String showDeclaringClass() {
            return Hobby.class.getDeclaringClass().getName();
        }
    }

    /**
     * 班级
     */
    private String clazz;

    /**
     * 调用内部类中方法
     *
     * @return
     */
    public String showResult() {
        return new Result().showDeclaringClass();
    }
    /**
     * 调用内部类中方法
     *
     * @return
     */
    public String showHobby() {
        return new Hobby().showDeclaringClass();
    }

    public String study() {
        return "学会了Java";
    }

    public String work() {
        return "完成了第一章作业";
    }

    private String getClazz() {
        return clazz;
    }

    public void setClazz(String clazz) {
        this.clazz = clazz;
    }
}
